1. Field
The methods and devices described herein are directed generally to coping with and compensating for inefficiencies in general purpose processors such as encountered when implementing signal processing and similar algorithms and, more particularly, when implementing signal detection algorithms for positioning applications.
2. Background Information
Many devices, such as mobile stations and the like, include circuits for implementing algorithms, such as algorithms for the detection of wireless signals and the like. When implementing algorithms, such as signal detection algorithms, there is a need for processing with low latency, high interrupt capability and high band width. Accordingly, these algorithms conventionally have been implemented using special-purpose dedicated hardware blocks that are controlled by custom micro-controllers instead of general purpose processors.
One example of such a conventional device is shown in FIG. 10, which shows a typical conventional circuit 1000 for use in a mobile station or the like, which has special-purpose hardware blocks S 1006 controlled by a custom micro-controller Pmicro 1004. Such custom micro-controllers are generally referred to as digital signal processing (DSP) processors, modems, modem DSPs, processors, search engines, or the like. The circuit 1000 typically includes a general-purpose processor such as Pmacro 1002 to provide control signals to or control of Pmicro 1004 via bus/memory interface 1014. The control signals are typically high-level instructions. The control of the special-purpose hardware blocks S 1006 by Pmicro 1004 is via an interface 1018.
The custom micro-controller Pmicro 1004 of the conventional device is specially designed (dedicated) for its application. The custom micro-controller Pmicro 1004 is configured to use specialized instructions in order to control the special-purpose hardware blocks S 1006. Pmicro 1004 is typically configured to sustain high rates of interrupts and can communicate with the special-purpose hardware blocks S 1006 with low latency and high bandwidth. This is due, in part, to the fact that Pmicro 1006 has a highly integrated design. This arrangement is particularly useful in digital signal processing, such as signal detection.
However, there are a number of problems and disadvantages that result from the use of a custom micro-controller, such as a Pmicro 1004, in these types of applications. For example, such custom devices have a high cost of implementation in terms of the die size resulting in higher manufacturing costs, complexity, and so on. The maintenance and development of code that a custom micro-controller, such as Pmicro 1004 uses, also increases costs. In particular, such code maintenance and development requires specialized skills. These skills may relate to the actual special-purpose for which the custom micro-controller is used for, including for example, custom assembly programming for the custom micro-controller and the infrastructure of the custom micro-controller.
Implementation costs could be reduced by eliminating the customer micro-controller. In the absence of the custom micro-controller the circuit 1000 would have to control the special-purpose hardware blocks S 1006 directly from the general-purpose processor. However, control by the general-purpose processor would have significant problems and shortcomings including a high latency, low sustainable interrupt rate and low communication bandwidth such that a skilled artisan would not consider such an approach to be workable. In particular, because these factors would be adversely effected by a few orders of magnitude compared to the designs including the custom micro-controller the skilled artisan would reject this approach.
Accordingly, there is a need for executing complex signal processing algorithms, in particular signal detection algorithms for positioning applications, in a more efficient and cost effective manner than the conventional custom micro-controller implementation provides, while at the same time providing the low latency, high sustainable interrupt rates and large bandwidths achievable with custom micro-controller designs.